Trivial fix for a nasty PAE bug.
authoriap10@firebug.cl.cam.ac.uk <iap10@firebug.cl.cam.ac.uk>
Wed, 7 Sep 2005 17:28:49 +0000 (17:28 +0000)
committeriap10@firebug.cl.cam.ac.uk <iap10@firebug.cl.cam.ac.uk>
Wed, 7 Sep 2005 17:28:49 +0000 (17:28 +0000)
Signed-off-by: ian@xensource.com
linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c

index 372a2f568c18806a97f3e397179a08ea08ce1f86..7332d2f9afefb4a94c52048d925bfab7f928149a 100644 (file)
@@ -106,7 +106,7 @@ void xen_l4_entry_update(pgd_t *ptr, pgd_t val)
 void xen_machphys_update(unsigned long mfn, unsigned long pfn)
 {
        mmu_update_t u;
-       u.ptr = (mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
+       u.ptr = ((unsigned long long)mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
        u.val = pfn;
        BUG_ON(HYPERVISOR_mmu_update(&u, 1, NULL, DOMID_SELF) < 0);
 }